export const checkPasswordStrength = (password) => {
    let score = 0;
    const checks = [
        { regex: /.{8,}/, score: 1 },           // 1. 长度至少为8位
        { regex: /[a-z]/, score: 1 },            // 2. 包含小写字母
        { regex: /[A-Z]/, score: 1 },            // 3. 包含大写字母
        { regex: /[0-9]/, score: 1 },            // 4. 包含数字
        { regex: /[^a-zA-Z0-9]/, score: 1 }      // 5. 包含特殊字符
    ];

    if (!password) {
        return { score: 0, text: '', color: '#e0e0e0' };
    }

    for (const check of checks) {
        if (check.regex.test(password)) {
            score += check.score;
        }
    }

    // 长度小于6，直接评为最弱
    if (password.length < 6) {
        score = 1;
    }
    // 长度大于等于8，但只包含一种字符
    if (password.length >= 8 && score <= 2) {
        score = 2;
    }


    switch (score) {
        case 0:
        case 1:
            return { score: 1, text: '弱', color: '#F56C6C' }; // Element Plus的Danger颜色
        case 2:
            return { score: 2, text: '中', color: '#E6A23C' }; // Element Plus的Warning颜色
        case 3:
            return { score: 3, text: '中', color: '#E6A23C' };
        case 4:
            return { score: 4, text: '强', color: '#67C23A' }; // Element Plus的Success颜色
        case 5:
            return { score: 5, text: '非常强', color: '#409EFF' }; // Element Plus的Primary颜色
        default:
            return { score: 0, text: '', color: '#e0e0e0' };
    }
};
